|
american fuzzy lop is a fuzzer that employs genetic algorithms in order to efficiently increase code coverage of the test cases. So far it helped in detection of significant software bugs in dozens of major free software projects, including X.Org Server,〔(【引用サイトリンク】title=Advisory-2015-03-17 )〕 PHP, OpenSSL, pngcrush,〔(【引用サイトリンク】title=NVD - Detail )〕〔(【引用サイトリンク】title=NVD - Detail )〕〔https://web.nvd.nist.gov/view/vuln/detail?vulnId=CVE-2015-0288〕 bash,〔(【引用サイトリンク】title=CVE - CVE-2014-6278 )〕 Firefox,〔(【引用サイトリンク】title=CVE - CVE-2014-8637 )〕 BIND〔(【引用サイトリンク】title=How to fuzz a server with American Fuzzy Lop )〕〔(【引用サイトリンク】title=CVE - CVE-2015-5477 )〕 and Qt.〔(【引用サイトリンク】title=() Qt Project Security Advisory - Multiple Vulnerabilities in Qt Image Format Handling )〕 american fuzzy lop's source code is open and is hosted by Michał Zalewski on his website. The program attracts a relatively large and active community - as of 27 Aug 2015, its main mailing list gathers 392 users and developers and generates an average of over 100 posts per month.〔(【引用サイトリンク】title=Google Groups )〕 ==Typical usage== The program requires the user to provide a sample command that runs the tested application and at least one small example input file. For example, in case of an audio player, american fuzzy lop can be instructed to open a short sound file with it. Then, the fuzzer attempts to actually execute the specified command and if that succeeds, it tries to reduce it to reduce the input file to the smallest one that triggers the same behavior. After this initial phase, AFL begins the actual process of fuzzing by applying various modifications to the input file. When the tested program crashes or hangs, this might suggest the discovery of a new bug, possibly a security vulnerability. In this case, the modified input file is saved for further user inspection. In order to maximize the fuzzing performance, american fuzzy lop expects the tested program to be compiled with the aid of a utility program that instruments the code with helper functions which track control flow. This allows the fuzzer to detect when the target's behavior changes in response to the input. In cases when this is not possible, black-box testing is supported as well. 抄文引用元・出典: フリー百科事典『 ウィキペディア(Wikipedia)』 ■ウィキペディアで「American fuzzy lop (fuzzer)」の詳細全文を読む スポンサード リンク
|